Fix a memory leak in gtk_test_find_label
authorMatthias Clasen <mclasen@redhat.com>
Fri, 26 Sep 2014 22:00:19 +0000 (18:00 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Fri, 26 Sep 2014 22:00:19 +0000 (18:00 -0400)
Pointed out by Garrett Regier in
https://bugzilla.gnome.org/show_bug.cgi?id=737439

gtk/gtktestutils.c

index b96a828f1bf985f9e6aadc2e534a3f03bb6072aa..a02461422073d9a6a106572e640345d1bbd11bf5 100644 (file)
@@ -291,24 +291,29 @@ GtkWidget*
 gtk_test_find_label (GtkWidget    *widget,
                      const gchar  *label_pattern)
 {
+  GtkWidget *label = NULL;
+
   if (GTK_IS_LABEL (widget))
     {
       const gchar *text = gtk_label_get_text (GTK_LABEL (widget));
       if (g_pattern_match_simple (label_pattern, text))
         return widget;
     }
+
   if (GTK_IS_CONTAINER (widget))
     {
-      GList *node, *list = gtk_container_get_children (GTK_CONTAINER (widget));
+      GList *node, *list;
+
+      list = gtk_container_get_children (GTK_CONTAINER (widget));
       for (node = list; node; node = node->next)
         {
-          GtkWidget *label = gtk_test_find_label (node->data, label_pattern);
+          label = gtk_test_find_label (node->data, label_pattern);
           if (label)
-            return label;
+            break;
         }
       g_list_free (list);
     }
-  return NULL;
+  return label;
 }
 
 static GList*